package com.itextpdf.text.pdf.fonts;
import com.itextpdf.testutils.CompareTool;
import com.itextpdf.testutils.TestResourceUtils;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
import com.itextpdf.text.pdf.parser.SimpleTextExtractionStrategy;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import java.io.File;
import java.io.FileOutputStream;
public class SymbolTest {
@BeforeClass
public static void setUp() throws Exception {
new File("./target/com/itextpdf/text/pdf/fonts/SymbolFontTest").mkdirs();
}
@After
public void tearDown() throws Exception {
}
@Test
public void textWithSymbolEncoding() throws Exception {
BaseFont f = BaseFont.createFont(BaseFont.SYMBOL, BaseFont.SYMBOL, false);
FileOutputStream fs = new FileOutputStream("./target/com/itextpdf/text/pdf/fonts/SymbolFontTest/textWithSymbolEncoding.pdf");
Document doc = new Document();
PdfWriter writer = PdfWriter.getInstance(doc, fs);
Paragraph p;
writer.setCompressionLevel(0);
doc.open();
String origText = "ΑΒΓΗ€\u2022\u2663\u22c5";
p = new Paragraph(new Chunk(origText, new Font(f, 16)));
doc.add(p);
doc.close();
PdfReader reader = new PdfReader("./target/com/itextpdf/text/pdf/fonts/SymbolFontTest/textWithSymbolEncoding.pdf");
String text = PdfTextExtractor.getTextFromPage(reader, 1, new SimpleTextExtractionStrategy());
reader.close();
Assert.assertEquals(origText, text);
CompareTool compareTool = new CompareTool();
String errorMessage = compareTool.compareByContent("./target/com/itextpdf/text/pdf/fonts/SymbolFontTest/textWithSymbolEncoding.pdf", "./src/test/resources/com/itextpdf/text/pdf/fonts/SymbolFontTest/cmp_textWithSymbolEncoding.pdf", "./target/com/itextpdf/text/pdf/fonts/SymbolFontTest/", "diff");
if (errorMessage != null) {
Assert.fail(errorMessage);
}
}
}